package com.kmxd.ams.client.arrange;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.kmxd.ams.infra.arrange.base.BaseBO;
import com.kmxd.ams.infra.arrange.entity.Project;
import java.util.List;

/**
 * 项目级 服务类
 *
 * @author ZuoLG
 * @since 2022-07-20
 */
public interface IProjectSvc extends IService<Project> {

  /**
   * 分页查询
   *
   * @param reqPage
   * @param req
   * @return
   */
  Page<Project> selectPage(Page reqPage, Project req);

  /**
   * 查询列表
   *
   * @param req
   * @return
   */
  List<Project> selectList(Project req);
  List<Project> selectAllList(Project req);

  List<Project> selectListByIds(Project req);

  /**
   * 新增
   *
   * @param req
   */
  void add(Project req);

  /**
   * 修改
   *
   * @param req
   */
  void edit(Project req);

  /**
   * 删除
   *
   * @param req
   */
  void remove(Project req);

  /**
   * 查看
   *
   * @param req
   * @return
   */
  Project view(Project req);

  long count(Project req);

  /**
   * 删除回收站
   *
   * @param req
   * @return
   */
  Boolean cleanTrash(BaseBO req);

  /**
   * 数据还原
   *
   * @param req
   * @return
   */
  Boolean recoveryData(BaseBO req);

  void summary(Project req);
}
